home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
newsgroups
/
misc.20031118-20041115
/
000432_fdc@columbia.edu_Tue Nov 2 14:52:51 2004.msg
< prev
next >
Wrap
Text File
|
2020-01-01
|
3KB
|
61 lines
Path: newsmaster.cc.columbia.edu!not-for-mail
From: Frank da Cruz <fdc@columbia.edu>
Newsgroups: comp.protocols.kermit.misc
Subject: Re: How to compile kermit w/o buffers???
Date: 2 Nov 2004 19:52:33 GMT
Organization: Columbia University
Lines: 44
Message-ID: <slrncofpc1.etl.fdc@sesame.cc.columbia.edu>
References: <cm8lit$n11$1@zcars0v6.ca.nortel.com>
Reply-To: fdc@columbia.edu
NNTP-Posting-Host: sesame.cc.columbia.edu
X-Trace: newsmaster.cc.columbia.edu 1099425153 6784 128.59.59.56 (2 Nov 2004 19:52:33 GMT)
X-Complaints-To: postmaster@columbia.edu
NNTP-Posting-Date: 2 Nov 2004 19:52:33 GMT
User-Agent: slrn/0.9.8.0 (SunOS)
Xref: newsmaster.cc.columbia.edu comp.protocols.kermit.misc:15216
On 2004-11-02, Robert Simmons <robertls@nortelnetworks.com> wrote:
: I got side tracked with other tasks and failed to copy the information you
: sent on how to recompile the kermit with no buffers. Now the thread is no
: longer available. Can you please reply to me with your last correspondence
: to the thread below?
:
I can't seem to find it either but anyway, in the Unix version of Kermit,
in the module ckutio.c, in routine concb(), nested within all sorts of
confusing sequences of #ifdefs, you'll see (in several places):
#ifndef NOSETBUF
if (x > -1) {
setbuf(stdout,NULL); /* Make console unbuffered. */
debug(F100,"concb setbuf B","",0);
}
#endif /* NOSETBUF */
This has a long and convoluted history. Briefly, on some platforms buffered
output could not be used for console i/o for various reasons, so a setbuf()
call was added. But it soon developed that on certain other platforms,
unbuffered i/o could *not* be used because it was SOOOOOO SLOOOOOOOOOOOW, so
the NOSETBUF macro was added to select this feature at compile time, and then
-DNOSEBUF added as needed to different makefile entries. Eventually the
platforms that needed the setbuf() call mostly vanished from the scene, so
#define SETBUF was added in the ckcdeb.h header file for most builds. But
then it became necessary for other reasons to be able to undo the -DNOSEBUF
from the 'make' command line, so a second macro was added, -DNONOSETBUF. So
first try this:
make xxxxx "KFLAGS=-DNONOSETBUF"
If that works, fine. If not, you'll have to see if the setbuf() call was
actually compiled and executed. You can tell by starting Kermit with a debug
log:
kermit -d
(just start it and exit). Then look in the debug.log file for "concb setbuf".
If you find it then I would have to start wondering what setbuf() was good
for. If you don't, then you'll have add a setbuf(stdout,NULL) call to
concb() someplace where it will actually be compiled. Let me know what
happens.
- Frank